Video recorder control using streamed data packets

ABSTRACT

An apparatus ( 16 ) for recording a selected program includes a decoder ( 32 ), a recorder ( 34 ), and a user interface ( 36 ). The user interface ( 36 ) permits a user to select the program. The decoder ( 32 ) receives a data stream including, a start data packet, content data packets, and an end data packet associated with the selected program. The decoder ( 32 ) detects the start data packet associated with the selected program and begins the recorder ( 34 ) recording. The context data packets are recorded until the decoder ( 32 ) detects the end data packet associated with the selected program and stops the recorder ( 34 ).

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application Ser.No. 60/432,315 filed Dec. 6, 2002, which is incorporated herein byreference.

The invention relates to the field of video recording. It findsparticular application in conjunction with controlling a video recorderfor program recording through the detection of data packets in a privatestream that is associated with the program to be recorded and will bedescribed with particular reference thereto. However, it is to beappreciated that the invention is also amenable to other applications.

Many television (TV) viewers wish to select, schedule, and record theirTV viewing opportunities to enhance the TV viewing experience. To dothis, many select programs for viewing after consulting a paper orelectronic programming schedule to determine the programs availableduring particular time slots. Others change from channel to channel inan attempt to locate desirable programming, with varying degrees ofsuccess.

As the number of TV channels and TV programs continues to increase,allowing viewers to more intelligently select, schedule, and recordtheir viewing opportunities becomes increasingly important. An existingtechnique for electronically accessing program scheduling informationincludes periodically downloading scheduling information and, inresponse to requests from the viewer, providing this schedulinginformation in raw form to the viewer.

It is well known that very often problems occur when a user attempts toprogram his VCR to record a TV show at a given time and date. Toeliminate these problems VPS (Video Program System) and VPT (VCRProgrammed by Teletext) were introduced. These systems are in common usein Europe. VPT was formerly known as VPV (Videotext Programmed VCR).

The original purpose of adding a supplementary VPS signal to theimage-representative TV broadcast signal was to simplify the use of homevideocassette recorders (VCR's). Prior to the introduction of VPS, theseVCR's were programmed by means of a timer, which started and stopped theVCR according to the time when the desired TV program of interest wasscheduled for transmission.

Occasionally, the program of interest could not be correctly recorded,for example, due to a delay in the completion of the previous TVprogram. The VPS signal was intended to overcome this drawback byproviding an accurate indication of the starting time of a new program.

The VPS program identification code occupies four bytes on a data linein the vertical blanking (retrace) interval of a TV broadcast signal.The four bytes of the VPS signal contain information such as day andtime of day of the originally scheduled start of a particular TV programto be broadcast.

To make the programming of VCR's even more convenient, the VPT systemwas developed. VPT involves the automatic transfer of the necessaryinformation to a VCR from the program pages of the teletext service. Theuser causes the display of a directory of teletext program pages, andmoves a cursor to the desires TV program title. Upon pressing anappropriate button on a remote control, the necessary VPS programidentification information is transferred to the VCR.

It should be mentioned that the scheduled time and the VPS-time are notalways identical. This is because the scheduled time is updated whenevera particular program runs overtime and subsequent programs are delayedor a schedule is otherwise changed. The VPS time always remainsunchanged since it is assigned to the program and not to the actualfinal broadcast time.

By use of VPS and VPT, incorrect recording of a desired TV program,caused either by time-shifted TV programs or by errors made by manualkeying in of the data such as start time stop time, date, and programsource (channel), is thus greatly reduced. Unfortunately, even if theVPS and VPT systems are used, the recording of the desired TV programcan still fail because of VPT or VPS errors originating from the studioside. TV programs are announced on VPT program schedule pages two weeksin advance. If such a page contains incorrect VPS data and a VCR isprogrammed with the incorrect data, the recording of that particular TVprogram will, of course, fail. Usually, such errors are noticed andcorrected by the editors of these pages sometime after the incorrectdata is entered. Even though such errors are later corrected on the VPTpages by the editor, a conventional VCR cannot adapt its preprogrammeddata to such corrections. Another source of errors which may prevent therecording of desired TV programs is the entry of incorrect VPS codesonto data line 16, also caused by mistakes made at the broadcaster side.

U.S. Pat. No. 5,956,455 to Hennig discloses a VCR including a VPS andVPT automatic programming capability that continuously comparespreprogrammed VPS data to incoming VPS time codes for the currentlyrunning program, and to VPS program schedule information. In this way,the VPS and VPT controller in the VCR can detect errors in the originalschedule pages from which it was programmed, and correct for thoseerrors in its own record programming memory. Moreover, circuitry detectsan error in the VPS code of a currently-running TV show, corrects forthe error, and properly records the show.

However, the approach disclosed in the Hennig patent requiressubstantial processing overhead. Moreover, the accuracy of the Hennigapproach to VCR recording is limited because it does not consistentlyupdate program scheduling information at the precise times when startingand stopping of the VCR is required. There is, therefore, a need for anapparatus and improved method for controlling video recording that ismore precise with respect to starting and stopping a recorder.

In one embodiment of the invention, an apparatus for recording aselected program includes a means for selecting the selected program, ameans for receiving a data stream, a start data packet, and an end datapacket associated with the selected program, a means for detecting thestart data packet associated with the selected program, a means forrecording the selected program after the start data packet associatedwith the selected program is detected, a means for detecting the enddata packet associated with the selected program, a means for stoppingthe recording after the selected program is over.

In another embodiment of the invention, a method for recording aselected program with a video recorder is provided. A data streamassociated with the selected program is received. A start data packetassociated with the selected program is received and detected. Therecording of the selected program with the video recorder is started.The content data packets associated with the selected program arereceived. An end data packet associated with the selected program isreceived and detected. The recording of the selected program with thevideo recorder is stopped.

One advantage of the invention is video recording of a selected programdoes not miss any portion at the beginning or end of the selectedprogram.

An additional advantage is a video recording of a selected programincludes little or no material at the beginning or end of the recordingfrom other programs or advertisements.

Other advantages will become apparent to those of ordinary skill in theart upon reading and understanding the following detailed description.

The drawings are for purposes of illustrating exemplary embodiments ofthe invention and are not to be construed as limiting the invention tosuch embodiments. It is understood that the invention may take form invarious components and arrangement of components and in various stepsand arrangement of steps beyond those provided in the drawings andassociated description. Within the drawings, like reference numeralsdenote like elements and similar reference numerals (e.g., 116, 216)denote similar elements.

FIG. 1 is a block diagram of an embodiment of a communicationsenvironment incorporating the invention.

FIG. 2 is a diagram showing an embodiment of a multiplexed programstream incorporating the invention.

With reference to FIG. 1, a communications environment 10 includes aplurality of program/service provider subsystem 12, a transmissionsubsystem 14, and a plurality of consumer environments 16. Generally,each program/service provider subsystem 12 provides the multipleconsumer environments 16 with access to programs via multiplecommunication channels. The programs are compatible with televisions andsimilar types of video display devices. Typically, a consumerenvironment is a home or apartment, but the invention equally applies toany type of consumer environment, including a vehicle, an office, and abusiness. An example of a business environment that may implement thisinvention is a business that sells video recorders to consumers.

Each program/service provider subsystem 12 depicted in FIG. 1 includesone or more digital programs 18 in the form of a series of packets withheaders that identify the programs. This program/service providersubsystem 12 reflects one communication channel that incorporatesaspects of the invention. The programs 18 can be various types,including movies, news, documentaries, situation comedies, sportingevents, etc. The programs 18 can also be any duration and can begin andend at various times. A private stream 20 includes data packetsassociated with the one or more programs. A multiplexed program stream22 forms a communication channel by combining the one or more programs18 and the private stream 20 in a multiplexed fashion. If multipleprograms 18 are simultaneously provided in the multiplexed programstream 22, the channel includes sub-channels for each multiplexedprogram. In actuality, a typical program/service provider subsystem 12includes multiple channels. Additional channels may be similar to theone shown, although the program/service provider subsystem 12 may alsoinclude other channels that are not similar. The programs 18, theprivate stream 20, and the multiplexed program stream 22 may be providedby a common program/service provider. However, the programs 18 and theprivate stream 20 may also be provided by one or more third parties.

The transmission subsystem 14 includes at least one of cable 24,satellite 26, terrestrial 28, and telephone 30. The cable transmissionmethod 24 is primarily associated with cable TV service providers. Thesatellite transmission method 26 is primarily associated with satelliteTV and satellite telephone service providers. The terrestrialtransmission method 28 is primarily associated with terrestrialbroadcasters and cellular telephone service providers. The telephonetransport method 30 is primarily associated with residential/commercialtelephone service providers and may include optical or electricaltransmission lines.

Each consumer environment 16 includes a decoder 32, a recorder 34, and auser interface 36. These modules may be packaged in variousconfigurations. For example, all of the modules may be packaged in atelevision (TV) or a set-top box. Alternatively, the decoder 32 may bepackaged in a set-top box and the recorder 34 may be packagedindividually. The user interface 36 is typically operationally coupledto the recorder. Alternatively, the user interface 36 may beoperationally coupled to the decoder 32 or to both the recorder 34 anddecoder 32. Other configurations, for example, where the user interface32 utilizes the TV to display options are also possible. The userinterface 32 may be a multi-function device that also controls the TVand other related equipment. The invention does not require or rely onany particular packaged configuration.

When one of the one or more programs 18 is selected for recording viathe user interface 36, the decoder 32 receives the multiplexed programstream 22 for the communication channel via, for example, the cabletransport method 24. Selection of the program to be recorded may be inany of various methods, including various selection methods using anelectronic program guide (EPG), various selection methods using a videoprogramming system (VPS), various methods using VCR programmed byTeletext (VPT), and traditional tuning of the recorder, decoder, TV, orother device to the program to be recorded.

Next, the private stream 20 is separated from the multiplexed programstream by the decoder 32 in a de-multiplex fashion. Data packets in theprivate stream 20 are detected by the decoder 32. The data packetsidentify the start and end of programs included in the multiplexedprogram stream 22. The data packets associated with a program identifywhen a program starts and stops. When the data packets associated withthe selected program are detected, the decoder 32 controls the recorder34 to start and stop recording so that no program content is missed.

With reference to FIG. 2, an example of a multiplexed program stream 22includes three consecutive programs with data packets from the privatestream separating the programs. In this example, the multiplexed programstream 22 includes packets associated with a first program 42, a firstend data packet 44, a first start data packet 46, packets associatedwith the second program 48, a second end data packet 50, a second startdata packet 52, and packets associated with a third program 54.

With reference to FIGS. 1 and 2, the first end data packet 44 isassociated with the first program 42 and indicates that the firstprogram 42 has ended. In the time domain, the first end data packet 44follows the packets associated with the content of the first program 42.Therefore, detection of the first end data packet 44 by the decoder 44may be used, for example, to stop the recording of the first program 42by the recorder 34.

The first start data packet 46 is associated with the second program 48and indicates that the second program 48 is about to start. In the timedomain, the first start data packet 46 precedes the packets associatedwith the content of the second program 48. Therefore, detection of thefirst start data packet 46 by the decoder 44 may be used, for example,to start the recording of the second program 48 by the recorder 34.

Similarly, the second end data packet 50 is associated with the secondprogram 48 and may be used, for example, to stop the recording of thesecond program 48. Additionally, the second start data packet 52 isassociated with the third program 54 and may be used, for example, tostart the recording of the third program 54.

If multiple programs 18 are simultaneously provided in the multiplexedprogram stream 22, data packets from two or more programs aretime-multiplexed during the first program, second program, and thirdprogram. Start data packets associated with each program precede theinitial data packet associated with the program content. End datapackets associated with each program follow the last data packetassociated with the program content. As such, the sequence and positionof the start and stop data packets from the private stream 20 for themultiple programs within the multiplexed program stream 22 is based onthe position of the initial and last data packets for the programcontent in the multiplexed program stream 22. The start and end datapackets may include information that associates them with a particularprogram to provide additional flexibility in packet positioning andadditional confidence in controlling the recorder.

In another embodiment, end and start packets identifying the ending ofone program and the starting of another program in the samechannel/sub-channel could be combined into one packet to reduceoverhead. In various embodiments, the private stream could be insertedin different levels of the multiplex. For example, the private streamcould be one of multiple programs included in the multiplexed programstream and defined in the packet identifier (PID) mapping table (PMT) ofthat program. In this embodiment, the start and end packets would needto include program identification information for the program contentwith which they are associated. On the other hand, the private streamcould be a channel or sub-channel separate from the channels and/orsub-channels carrying the program content. In this embodiment, the startand end packets would need to include channel/sub-channel identificationinformation for the program content with which they are associated.

In another embodiment, the start and stop packets are added by a thirdparty subscription service. Start and stop packets can also be addedbefore and after commercials, or other auxiliary parts of the programs.

While the invention is described herein in conjunction with exemplaryembodiments, it is evident that many alternatives, modifications, andvariations will be apparent to those skilled in the art. Accordingly,the embodiments of the invention in the preceding description areintended to be illustrative, rather than limiting, of the spirit andscope of the invention. More specifically, it is intended that theinvention embrace all alternatives, modifications, and variations of theexemplary embodiments described herein that fall within the spirit andscope of the appended claims or the equivalents thereof.

1. An apparatus for recording a selected program, comprising: a) a meansfor selecting the selected program; b) a means for receiving a datastream, a start data packet and an end data packet for the selectedprogram; c) a means for detecting the start data packet for the selectedprogram and the end data packet for the selected program; and d) a meansfor recording the selected program, the recording being initiated inresponse to the detection of the start data packet for the selectedprogram and terminated in response to the detection of the end datapacket for the selected program, wherein the data stream includes one ormore programs and a private stream, each program being represented bycontent data packets in the data stream, the private stream includingthe start data packet and the end data packet for the selected programand a start data packet and an end data packet for each additionalprogram and the start data packet precedes the associated content datapackets in the data stream for each program and the end data packetfollows the associated content data packets in the data stream for eachprogram and the end data packet of a preceding program and the startdata packet for a following program are combined in a common datapacket.
 2. The apparatus as set forth in claim 1, wherein the datastream includes one or more programs, wherein each program isrepresented by content data packets in the data stream, the start datapacket and the end data packet being in a private stream, which alsoincludes a start data packet and an end data packet associated withindividual additional programs or program segments.
 3. The apparatus asset forth in claim 2 wherein the associated start data packet in theprivate stream is provided in advance of the associated content datapackets in the data stream for each program and the associated end datapacket in the private stream is provided after the associated contentdata packets in the data stream for each program.
 4. The apparatus asset forth in claim 3 wherein each end data packet of a preceding programand the start data packet associated with a succeeding program arecombined in a common data packet.
 5. The apparatus as set forth in claim1 wherein the start data packet and the end data packet includeinformation that identifies the selected program.
 6. The apparatus asset forth in claim 1 wherein the data stream includes multiple programs,each program being associated with a sub-channel, the start data packetand the end data packet including information that identifies theselected program and the sub-channel associated with the selectedprogram.
 7. The apparatus as set forth in claim 1 wherein the datastream is associated with a first channel, the start data packet and theend data packet are associated with a private stream and a secondchannel, the start data packet and end data packet including informationthat identifies the selected program and the channel associated with theselected program.
 8. The apparatus as set forth in claim 1 wherein thedata stream is a digital data stream and includes one or more programs,each program in the data stream being represented by digital contentdata packets, and the means for recording the selected program includinga digital recorder to record the digital content data packets.
 9. Amethod for recording a selected programming with a video recordercomprising: a) receiving a data stream associated with the selectedprogramming; b) receiving and detecting a start data packet for theselected programming; c) starting the recording with the video recorderin response to the detection of the start data packet; d) receiving andrecording the selected programming; e) receiving and detecting an enddata packet for the selected programming; f) stopping the recording ofthe selected programming in response to the detecting of the end datapacket; and (g) combining one or more programs and a private stream toproduce the data stream, each program being represented by content datapackets in the data stream, the private stream including a start datapacket and an end data packet for each program; and providing the datastream to a consumer environment having the video recorder, wherein thestart data packet precedes the associated content data packets in thedata stream for each program and the end data packet follows theassociated content data packets in the data stream for each program andeach end data packet and the start data packet for a succeeding programare combined in a common data packet.
 10. The method as set forth inclaim 9 wherein the data stream is a digital data stream and includesone or more programs including the selected programming, each program inthe data stream being represented by digital content data packets. 11.The method as set forth in claim 9, further including before step a):combining one or more programs to produce the data stream, each programbeing represented by content data packets in the data stream; combininga start data packet and an end data packet associated with each programto produce a private stream; and providing the data stream and theprivate stream to a consumer environment having the video recorder. 12.The method as set forth in claim 11 wherein the associated start datapacket in the private stream is provided in advance of the associatedcontent data packets in the data stream for each program and theassociated end data packet in the private stream is provided after theassociated content data packets in the data stream for each program. 13.The method as set forth in claim 12 wherein each end data packet of apreceding program and the start data packet associated with a succeedingprogram are combined in a common data packet.
 14. The method as setforth in claim 9 wherein the start data packet and the end data packetinclude information that identifies the selected program.
 15. The methodas set forth in claim 9 wherein the data stream includes: multipleprograms, each program being associated with a sub-channel; the startdata packet and the end data packet including information thatidentifies the selected program and the sub-channel associated with theselected program.
 16. The method as set forth in claim 9 wherein thedata stream is associated with a first channel, the start data packetand the end data packet are associated with a private stream and asecond channel, and the start data packet and end data packet includeinformation that identifies the selected program and the channelassociated with the selected program.
 17. A method for recordingselected programming comprising: a) combining one or more programs toproduce a data stream, the one or more programs including the selectedprogramming, each program being represented by content data packets inthe data stream; b) combining a start data packet and an end data packetfor each program to produce a private stream; and c) providing the datastream and the private stream to a consumer environment having a videorecorder; wherein the data stream is associated with a first channel,the start data packet and the end data packet are for a private streamand a second channel, and the start data packet and end data packetinclude information that identifies the selected program and the channelassociated with the selected program.
 18. The method as set forth inclaim 17, further including: receiving the data stream associated withthe selected programming; receiving and detecting the start data packetassociated with the selected programming; starting the recording withthe video recorder in response to the detection of the start datapacket; receiving and recording the selected programming; receiving anddetecting an end data packet associated with the selected programming;and stopping the recording of the selected programming in response tothe detecting of the end data packet.
 19. The method as set forth inclaim 18 wherein the data stream is a digital data stream, each programin the data stream being represented by digital content data packets.